home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / GRAPHICS / POV302.ZIP / pov302 / povscn / level3 / pencil / pov / fpencil next >
Text File  |  1995-12-13  |  8KB  |  287 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2. // FOCAL BLUR Version, modified by dmf
  3. // File by Jorge Arreguin
  4. // NOTE: Requires PENCIL_.GIF (320x200x256)
  5. // This scene file makes a pencil along y axis
  6. // with the label "Persistence Of Vision"
  7. //
  8. // Translation to English and dkb version 2.10 by Aaron a. Collins with a bit
  9. // of help from David on the imagemap registration.
  10. //
  11. // note - unless this is rendered at a minimum of 640 x whatever, the logo
  12. //        is quite unreadable.
  13. //
  14. // The Pencil - major export of Faber, Pennsylvania, due to the plentiful
  15. // presence of pencilwood trees and eraser-root plants, and the nearby
  16. // graphite mines.  (John Landis - Animal House)
  17. //
  18.  
  19. #version 3.0
  20. global_settings { assumed_gamma 2.2 }
  21.  
  22. #include "shapes.inc"
  23. #include "colors.inc"
  24. #include "textures.inc"
  25. #include "metals.inc"
  26.  
  27. #declare PencilPaint = pigment { color red 1.0 green 0.6666 blue 0.33333 }
  28. background { Gray70 }
  29.  
  30. camera {
  31.    location <0.0, -70.0, 0.0>
  32.    direction <0.0, 2.5, 0.0>
  33.    up <0.0, 0.0, 1.0>
  34.    right <4/3, 0.0, 0.0>
  35.    rotate < -20.0, 0.0, -140.0 >
  36.    translate < 0.0, 0.0, 2.0 >
  37.  
  38. //   aperture 10
  39.    focal_point <0, 0, 0>
  40.  
  41. //    blur_samples 7
  42. //    confidence 0.5             // default is 0.9
  43. //    variance 1/64              // default is 1/128 (0.0078125)
  44. //    #warning "\nFast focal blur used...\n"
  45.  
  46. //    blur_samples 19
  47. //    confidence 0.90            // default is 0.9
  48. //    variance 1/128             // default is 1/128 (0.0078125)
  49. //    #warning "\nDefault focal blur used...\n"
  50.  
  51.    blur_samples 37
  52.    confidence 0.975           // default is 0.9
  53.    variance 1/255             // default is 1/128 (0.0078125)
  54.    #warning "\nHigh Quality focal blur used...\n"
  55.  
  56.  
  57. }
  58.  
  59. light_source { <30.0, 30.0, 55.0>  colour White }
  60.  
  61. light_source { <-40.0, -40.0, 35.0> colour Grey }
  62.  
  63.  
  64. union {
  65.    /*----------------------------- parte metalica ----------------------*/
  66.    /*                             (that metal part)                     */
  67.    union {
  68.       union {
  69.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate 2.0*z }
  70.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate 1.0*z }
  71.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > }
  72.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate -1.0*z }
  73.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate -2.0*z }
  74.  
  75.          translate 38.5*z
  76.          texture { T_Brass_3B }
  77.       }
  78.  
  79.       union {
  80.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate 2.0*z }
  81.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate 1.0*z }
  82.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > }
  83.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate -1.0*z }
  84.          sphere { <0, 0, 0>, 1 scale < 3.70, 3.70, 1.5 > translate -2.0*z }
  85.  
  86.          translate 30.5*z
  87.  
  88.          texture { T_Brass_3B }
  89.       }
  90.  
  91.       object {
  92.          Disk_Z
  93.          scale < 3.35, 3.35, 3.0 >
  94.          translate 34.0*z
  95.          texture {
  96.             pigment { Brown }
  97.             finish { reflection 0.25 }
  98.          }
  99.       }
  100.  
  101.    }
  102.  
  103.    /*---------------------------------- borrador ----------------------------*/
  104.    /*                (the rubber eraser, from eraser-root plants)            */
  105.  
  106.    union {
  107.       object {
  108.          Disk_Z
  109.          scale < 3.35, 3.35, 3.0 >
  110.          translate 41.0*z
  111.          texture {
  112.             pigment { Pink }
  113.          }
  114.       }
  115.       sphere {
  116.          < 0.0, 0.0, 44.0 >, 3.35
  117.          texture { pigment { Pink } }
  118.       }
  119.    }
  120.  
  121.    /*---------------------------------- cuerpo de madera ---------------------*/
  122.    /*                                 (body of pencilwood)                    */
  123.    difference {
  124.       intersection {
  125.          plane {
  126.             y, 3.031
  127.             texture { pigment { PencilPaint } }
  128.             texture {
  129.                pigment {
  130.                   image_map {
  131.                      gif "pencil_.gif" filter 0 1.0  /* colour 0 is the "key" or transparent colour */
  132.                      once
  133.                   }
  134.                   rotate <0, -90, -90>
  135.                   scale <15.0 ,1.0, 15.0>
  136.                   translate <-12.2, 0.0, 12.0 >
  137.                }
  138.             }
  139.  
  140.                /* Now for the complicated image mapping:
  141.   Currently, the pencil is standing up in the z axis:
  142.                    z
  143.  
  144.              eraser  ^ *vp
  145.                      | |
  146.                      | |
  147.                      | |----/ y
  148.                      |     /
  149.                      |    /
  150.                      |   /
  151.                      |  /
  152.                      | /
  153.              point   |/
  154.                      -------------->
  155.                                    x
  156.  
  157.   We want the image to be mapped as follows (viewed from the +ve y axis):
  158.  
  159.           Right
  160.           ---- z=28.0
  161.           |  |
  162.           |..|
  163.           |..|
  164.           |..|
  165.           |ee|
  166.           |ce|
  167.       Top |ar| Bottom
  168.           |rf|
  169.           |t |
  170.           | s|
  171.           |b'|
  172.           |Kt|
  173.           |di|
  174.           ---- z=12.7
  175.           Left
  176.  
  177.           ^  ^
  178.           |  |
  179.     x=1.75   x=-1.75
  180.  
  181.  The image map above gives (viewed from the y axis):
  182.  
  183.                    ^ z
  184.           1,1 Right|
  185.              ------|
  186.              |     |
  187.              |     |
  188.          Top |     |Bottom
  189.              |     |
  190.              |     |
  191.          <----------
  192.           x   Left
  193.  
  194.   Which is at least in the right orientation.
  195.  
  196.   Now, we must scale the image so the letters are the right size. */
  197.  
  198.                //         scale <15.0 1.0 15.0>  /* Never use 0 for any scale value */
  199.  
  200.                /* Now, we align the top left of the picture to the proper point on the
  201.   pencil.  This is a bit tricky because the top left of the picture is now
  202.   at x=15 z=0.  We have to move it to about x=-12, z=12 because the letters
  203.   don't start at the very top of the image. */
  204.  
  205.                //         translate <-12.20 0 12>
  206.  
  207.                /* As you may have guessed, this still took a lot of trial and error to get it
  208.   right, but some analysis of the picture before hand saved a lot of time. */
  209.                //      }
  210.  
  211.          }
  212.          plane {
  213.             y, 3.031
  214.             rotate 60.0*z
  215.             pigment { PencilPaint }
  216.          }
  217.          plane {
  218.             y, 3.031
  219.             rotate 120.0*z
  220.             pigment { PencilPaint }
  221.          }
  222.          plane {
  223.             y, 3.031
  224.             rotate 180.0*z
  225.             pigment { PencilPaint }
  226.          }
  227.          plane {
  228.             y, 3.031
  229.             rotate 240.0*z
  230.             pigment { PencilPaint }
  231.          }
  232.          plane {
  233.             y, 3.031
  234.             rotate 300.0*z
  235.             pigment { PencilPaint }
  236.          }
  237.          plane { z, 28.0 }
  238.          plane { z, 3.629 inverse }
  239.       }
  240.       object { QCone_Z inverse scale < 0.275558, 0.275558, 1.0 > }
  241.  
  242.       texture {
  243.          pigment {
  244.             Pine_Wood
  245.             turbulence 0.1
  246.             scale 0.15
  247.             rotate 75*y
  248.             translate 30*x
  249.          }
  250.       }
  251.    }
  252.  
  253.    /*---------------------------- punta de grafito ------------------------------*/
  254.    /*                            (point of graphite)                             */
  255.  
  256.    intersection {
  257.       object { QCone_Z scale < 0.275558, 0.275558, 1.0 > }
  258.       plane { z, 3.629 }
  259.       plane { z, 0.001 inverse }
  260.  
  261.       texture {
  262.          pigment { Black }
  263.          finish {
  264.             reflection 0.25
  265.             phong 1.0
  266.             phong_size 20
  267.          }
  268.       }
  269.    }
  270.  
  271.    rotate 90.0*x
  272.    translate < 0.0, 22.0, 3.5 >
  273. }
  274.  
  275. /*-------------------------- plano de horizonte --------------------------*/
  276. /*                           (plane of horizon)                           */
  277.  
  278. plane {
  279.    z, 0.0
  280.  
  281.    texture {
  282.       pigment { Green }
  283. //      finish { reflection 0.25 }
  284.    }
  285. }
  286.  
  287.